package com.ticket.system.service;

import java.util.List;

import com.ticket.system.domain.SysNoticeUser;
import com.ticket.system.domain.vo.NoticeUserVo;

/**
 * 【请填写功能名称】Service接口
 * 
 * @author ruoyi
 * @date 2023-04-10
 */
public interface ISysNoticeUserService 
{
    /**
     * 查询【请填写功能名称】
     * 
     * @param id 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    public SysNoticeUser selectSysNoticeUserById(Long id);

    /**
     * 查询【请填写功能名称】列表
     * 
     * @param sysNoticeUser 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<SysNoticeUser> selectSysNoticeUserList(SysNoticeUser sysNoticeUser);

    /**
     * 新增【请填写功能名称】
     * 
     * @param sysNoticeUser 【请填写功能名称】
     * @return 结果
     */
    public int insertSysNoticeUser(SysNoticeUser sysNoticeUser);

    public int unreadCount(SysNoticeUser sysNoticeUser);

    /**
     * 修改【请填写功能名称】
     * 
     * @param sysNoticeUser 【请填写功能名称】
     * @return 结果
     */
    public int updateSysNoticeUser(SysNoticeUser sysNoticeUser);

    /**
     * 批量删除【请填写功能名称】
     * 
     * @param ids 需要删除的【请填写功能名称】主键集合
     * @return 结果
     */
    public int deleteSysNoticeUserByIds(String id);

    public int readByIds(String id);

    public int readALl(Long userId);

    /**
     * 删除【请填写功能名称】信息
     * 
     * @param id 【请填写功能名称】主键
     * @return 结果
     */
    public int deleteSysNoticeUserById(Long id);

    /**
     * 获取用户强提醒第一条
     * @param userId
     * @param pushChannel
     * @return
     */
    public NoticeUserVo getForceNoticeByUser(Long userId, Integer pushChannel);

    NoticeUserVo getNoticeInfoByUser(long userId, Long noticeId);
}
